Video content can be streamed or downloaded over the Internet using a variety of techniques. However, adding alpha channel support for video is much more involved. The alpha channel refers to the transparency of the video: low-value alpha channel video stream composited over another image will make the video image to seem semi-transparent, allowing the user to see the other image, at least in part, through the video.
To support alpha channel in the video can require a video codec that contains alpha channel support. A pair of video codecs are used at either end, one compressing the video stream and the other decompressing the video stream. However, the available video codecs that provide alpha channel support aren't very good at compressing the data. CODECs that do not provide alpha channel support have a much higher compression.
Some products deal with this fact by putting the uncompressed alpha channel into a separate track. Each video frame contains two tracks: one holding the compressed video, encoded as RGB, and the other holding the uncompressed alpha channel information. This arrangement has the advantage that the compression for the video can be exceptionally high, at least in part making up for the fact that the alpha channel track is uncompressed. However, the compression provided is less than what could be possible if the alpha channel was compressed. Because of the lack of the highest compression in CODECs that do provide alpha channel support, a designer is required to choose between two suboptimal solutions.
What is needed is a system and method that can provide alpha channel support for video streaming and downloading, that can provide higher compression than a conventional video codec, and that provides alpha channel support and higher compression than using a conventional codec that does not provide alpha channel support, and therefore leaves the alpha channel data uncompressed.